package com.yfbao.horizon.inspection.config;

import lombok.Data;

/**
 * 巡检项 配置类
 */
@Data
public class InspectItemConfig {
    
    /**
     * 巡检项编码
     * 唯一标识
     */
    private String inspectItem;
    
    /**
     * 巡检项名称
     * 例如：nacos / maven
     */
    private String inspectName;
    
    /**
     * 巡检环境
     * 为空时表示所有环境，否则只采集指定环境
     */
    private String inspectEnv;
    
    /**
     * 巡检项分类
     * 例如：middleware
     */
    private String inspectCategory;
    
    /**
     * 分类名称
     * 例如：中间件
     */
    private String inspectCategoryName;
    
    /**
     * 报表计算汇总类型
     * customer: 自定义，触发调用inspectEngine.inspectCustomerReportResult
     * index: 指标，调用inspectEngine.inspectReportResult
     */
    private String inspectReportType;
    
    /**
     * 报表详情查询类型
     * normal: 执行标准逻辑
     * customer: 调用inspectEngine.getReportInfo
     */
    private String reportInfoType;
    
    /**
     * 扫描记录存储周期
     * 单位天，建议记录存储不超过30天
     */
    private Integer storageCycle;
    
    /**
     * 采集类型
     * customer: 调用inspectCustomerCollect（一般为触发时采集结果的巡检项）
     * index: 调用inspectCollect（一般通过prometheus采集）
     */
    private String inspectScanType;
    
    /**
     * 触发周期
     * 单位小时
     * 例如：1h, 12h, 24h, 168h(7天), 336h(14天), 720h(30天)
     */
    private int triggerCycle;
    
    /**
     * 统计规则
     */
    private StatRuleConfig statRule;
    
    /**
     * 指标采集规则
     */
    private IndexRuleConfig indexRule;
    

    


}